package com.itbaizhan.myconsumer1;

import com.rabbitmq.client.Channel;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

import java.io.IOException;

@Component
public class PriorityConsumer {
    //监听队列   一定要把其他的监听队列注释再运行，否则会错乱
  //  @RabbitListener(queues = "priority_queue")
    public void ListenMessage(Message message, Channel channel) throws IOException {
//       try {
//           //获取消息
//           System.out.println(new String(message.getBody()));
//           //手动签收
//           /*签收消息
//            * 参数1： 消息投递序号
//            * 参数2：是否一次可以签收多条消息*/
//           channel.basicAck(message.getMessageProperties().getDeliveryTag(), true);
//       }catch (Exception e){
//           System.out.println("消息发送失败！");
//           /*
//            * 参数1： 消息投递序号
//            * 参数2：是否一次可以拒签多条消息
//            * 参数3：拒签后是否返回队列*/
//           channel.basicNack(message.getMessageProperties().getDeliveryTag(),true,true);
//       }

        System.out.println(new String(message.getBody()));
        channel.basicAck(message.getMessageProperties().getDeliveryTag(), true);
    }

}
